package com.caregiver.watch.business.care.dao;


import com.caregiver.watch.business.care.model.po.PackageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * 套餐信息DAO接口
 */
@Mapper
public interface PackageInfoDao {
    
    /**
     * 插入套餐信息
     * @param PackageInfo 套餐信息实体
     * @return 影响行数
     */
    int insert(PackageInfo PackageInfo);
    
    /**
     * 根据ID更新套餐信息
     * @param PackageInfo 套餐信息实体
     * @return 影响行数
     */
    int updateById(PackageInfo PackageInfo);
    
    /**
     * 根据ID删除套餐信息
     * @param id 套餐ID
     * @return 影响行数
     */
    int deleteById(Long id);
    
    /**
     * 根据ID查询套餐信息
     * @param id 套餐ID
     * @return 套餐信息实体
     */
    PackageInfo selectById(Long id);
    
    /**
     * 查询所有套餐信息
     * @return 套餐信息列表
     */
    List<PackageInfo> selectAll();
    
    /**
     * 根据套餐编码查询套餐信息
     * @param packageCode 套餐编码
     * @return 套餐信息实体
     */
    PackageInfo selectByPackageCode(String packageCode);
    
    /**
     * 分页查询套餐信息
     * @param packageName 套餐名称（模糊查询）
     * @param packageType 套餐类型
     * @return 套餐信息列表
     */
    List<PackageInfo> selectPage(@Param("packageName") String packageName,
                                 @Param("packageType") String packageType);
}
